/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package MailCliente;

import mailserver.MailServer1;
import Message.Mensaje;
import SwConfMessage.Interfaz.IMailCliente;
import SwConfMessage.Interfaz.IMensaje;
import SwConfMessage.Interfaz.IMostrar;

/**
 * @author Marisol 
 * 
 * * @version 1.0.1  14 de Diciembre de 2013 
 */

public class MailCliente implements IMailCliente{
    private IMostrar Server;
    private String Name;

    /**
     * Construtor recibe el nombre del usuario y el servidor.
     * 
     * @param Name
     * @param Server 
     */
    
    public MailCliente(String Name ,IMostrar Server) {
        this.Server = Server;
        this.Name = Name;
    }
    /**
     * Este metodo consulta al servidor a fin de ver si el usuario tiene algun mensaje.
     * este metodo retorna unicamente la cantidad de mensajes que tiene el usuario.
     * 
     * @return 
     */
    @Override
    public int checkMessages() {
        return ((MailServer1)Server).getMessagesWaitting(Name);
    }
    /**
     * Este metodo obtiene el siguiente mensajes del servidor y muestra el mensaje al usuario.
     * 
     * @return 
     */
    
    @Override
    public IMensaje readNextMessage() {
      return (((MailServer1)Server).getNextMessage(Name));      
    }
       
    /**
     * Este metodo metodo obtiene el mensaje completo del usuario con los datos del destinatario,asunto,mensaje. 
     * 
     * @param Destino
     * @param Asunto
     * @param Mensaje 
     */
    @Override
    public void sendMessage(String Destino, String Asunto, String Mensaje) {
        Mensaje mensaje = new Mensaje(Name, Destino, Asunto, Mensaje);
         ((MailServer1)(Server)).post(mensaje);
    }

       
}
